Storage devices are employed to store data that are accessed by computer systems. Examples of basic storage devices include volatile and non-volatile memory, floppy drives, hard disk drives, tape drives, and optical drives. A storage device may be locally attached to an input/output (IO) channel of a computer. For example, a hard disk drive may be connected to a computer's disk controller. A storage device may also be accessible over a network. Examples of such storage devices include network attached storage (NAS) and storage area network (SAN) devices. A storage device may be a single stand-alone component or be comprised of a system of storage devices such as in the case of Redundant Array of Inexpensive Disks (RAID) groups.
A traditional RAID group is a collection of hard disk drives operating together logically as a unified storage device, e.g., to provide some data protection through redundancy. Storage devices with RAID groups are designed to store large quantities of data and typically include one or more storage array processors (SPs), for handling both requests for allocation and IO requests.
Many computing devices now include non-volatile memory (NVM), such as certain magnetic, semiconductor, and/or optical storage media, and may include removable disk systems, hard drives, and other storage media systems allowing the device and/or a user to store data the device uses or is directed to use. The characteristics of non-volatile, vibration-free, small size, and low power consumption have made a type of NVM known as flash memory an excellent component to be utilized in various storage systems.
Flash storage devices are widely used as memory storage for consumer system products such as a notebook, desktop computer, set top box, digital camera, mobile phone, PDA and GPS. The increasing demand for more storage in these products has driven the need to expand the capacity of flash storage devices.
Advances in flash semiconductor technology continue to decrease the cost per unit and increase the capacities of flash devices. Further, flash devices can provide a significant performance advantage over magnetic disk media in many storage system applications. As cost continues to decrease, there is an industry shift underway towards the use of semiconductor solid state drives (also known as solid state disks or SSDs) using flash memory devices as a storage media in storage arrays.
An SSD has many features that can make it an attractive storage device. For example, SSDs have a fast access rate, high throughput, a high integration density, and stability against an external impact. SSDs can move large amounts of data and process a large number of IO requests. This allows users to complete data transactions much more quickly. Thus, in at least some cases, there has been an increasing trend towards the use of SSDs as storage devices instead of, or in addition to, magnetic disks.
However, unlike an HDD employing magnetic disks, SSDs utilizing flash memory devices have a limited number of program/erase (PE) cycles (also referred to as writes or write operations) before the SSD becomes unreliable. The number of PE cycles can vary and SSDs may be categorized based on their number of PE cycles. For example, an SSD may be classified as low endurance (LE), medium endurance (ME) or high endurance (HE) SSD.